package org.zpmis.domain.order.qo;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class ApplyOrderQo {

    /**
     * 企业id 后台新增时需要
     */
    private Long companyId;

    /**
     * 申请企业类型
     */
    @NotEmpty(message = "企业类型不能为空")
    private String applyCompanyType;

    /**
     * 申请服务类型 1追溯服务  2追溯设备
     */
    @NotNull(message = "服务类型不能为空")
    private Integer applyServiceType;

    /**
     * 申请订单备注  定制时使用
     */
    private String applyRemark;

    /**
     * 申请数量
     */
    @NotNull(message = "申请数量不能为空")
    private Integer applyNumber;

    /**
     * 申请类型 1设备类型 2标签类型
     */
    @NotNull(message = "申请类型不能为空")
    private Integer applyType;

    /**
     * 申请规格
     */
    private Integer applySpecs;

    /**
     * 工艺材质
     */
    private Integer craftMaterial;

    /**
     * 单价
     */
    private String unitPrice;

    /**
     * 总价
     */
    private String totalPrice;

    /**
     * 开票类型 1增值税专用发票 2增值税普通发票
     *
     */
    private Integer invoiceType;

    /**
     * 开票企业名称
     */
    private String invoiceCompanyName;

    /**
     * 纳税人识别号
     */
    private String invoiceTaxpayerIdentiNumber;

    /**
     * 开户银行
     */
    private String bankName;

    /**
     * 开户名
     */
    private String bankAccountName;

    /**
     * 开户账号
     */
    private String bankAccount;

    /**
     * 开票地址
     */
    private String invoiceAddress;

    /**
     * 开票电话
     */
    private String invoiceMobile;

    /**
     * 收货人
     */
    @NotEmpty(message = "收货人不能为空")
    private String consignee;

    /**
     * 收货地址
     */
    @NotEmpty(message = "收货地址不能为空")
    private String takeDeliveryAdress;

    /**
     * 收货人电话
     */
    @NotEmpty(message = "收货人电话不能为空")
    private String taskDeliveryMobile;

    /**
     * 分享文件
     */
    private String shareAttachment;

    /**
     * 附件图片
     */
    private String attachmentImage;
    /**
     * 回执单附件
     */
    private String receiptAttachment;

    /**
     * 代理企业id
     */
    private Long agentCompanyId;

}
